/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 74646
 * Date: 2022-01-25
 * Time: 8:50
 */
//class Person{
//    public String name;
//    public int age;
//    //重写Object的toString方法
//    @Override  //检查重写的toString方法是否与底层Object的toString方法一样
//    public String toString() {
//        return "Person{" +
//                "name='" + name + '\'' +
//                ", age=" + age +
//                '}';
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        Person person = new Person();
//        person.name = "张三";
//        person.age = 20;
//        System.out.println(person);
//    }
//}



//class Person{
//    public String name;
//    public int age;
//    //静态成员变量 -> 类变量
//    public static int count;
//
//    //普通方法
//    public void eat(){
//       // static int a = 0;
//        System.out.println(name+"正在吃饭");
//    }
//    public static void staticFun(){
//        System.out.println("静态方法-》类方法");
//    }
//    //静态方法 -> 类方法
//    public static void staticFunc(){
//        //在静态方法中调用普通方法只能通过类创建对象，再通过对象去调用
//        Person person = new Person();
//         person.print();
//
//        //静态方法只能调用静态方法
//        staticFun();
//        System.out.println("static::func()");
//    }
//    //普通方法
//    public void print(){
//        System.out.println("姓名："+name+"，年龄："+age);
//    }
//}
//public class TestDemo {
//    //成员变量
//    Person person = new Person();
//    public static void main(String[] args) {
//        TestDemo testDemo = new TestDemo();
//    }
//}

//
//class Person {
//        public int age;//普通成员变量 存放在对象内
//        public String name;//普通成员变量
//        public String sex;//普通成员变量
//        public static int count;//类变量也叫静态变量，编译时已经产生，属于类本身，且只有一份。存放在方法区
//        public final int SIZE = 10;//被final修饰的叫常量，也属于对象。 被final修饰，后续不可更改
//        public static final int COUNT = 99;//静态的常量，属于类本身，只有一份 被final修饰，后续不可更改
//
//    //实例成员函数（方法）
//    public void eat() {
//        //方法内不可以定义静态成员变量
//        //static int a = 0; //error
//
//        int a = 10;//局部变量
//        System.out.println("eat()!");
//    }
//    //普通方法
//    public void sleep() {
//        System.out.println("sleep()!");
//    }
//    //静态方法
//    public static void staticTest(){
//        //不能访问非静态成员
//        //sex = "man"; error
//
//        //静态方法可以访问静态成员
//        count = 100;
//
//        //方法内不可以定义静态成员变量
//       // static int a = 0; error
//        System.out.println("StaticTest()");
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        //产生对象 实例化对象
//        Person person = new Person();//person为对象的引用
//        Person person2 = new Person();//person为对象的引用
//        System.out.println(person.age);//默认值为0
//        System.out.println(person.name);//默认值为null
//        //System.out.println(person.count);//会有警告!
//
//        //正确访问方式：
//        System.out.println(Person.count);
//        System.out.println(Person.COUNT);
//        Person.staticTest();
//
//        //总结：所有被static所修饰的方法或者属性，全部不依赖于对象。
//        person.eat();
//        person.sleep();
//    }
//}


//class Person{
//    private String name;
//    private int age;
//
//    public String getName() {
//        return name;
//    }
//
//    public void setName(String name) {
//        this.name = name;
//    }
//
//    public int getAge() {
//        return age;
//    }
//
//    public void setAge(int age) {
//        this.age = age;
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        Person person = new Person();
//        //person.name = "张三"; //不可以直接调用private修饰的属性
//        person.setName("张三");
//        person.setAge(20);
//        System.out.println("姓名："+person.getName()+"，年龄："+person.getAge());
//    }
//}

//class Person{
//    private String name;
//    private int age;
//    public void eat(){
//        System.out.println("正在睡觉");
//    }
//
//    public Person(){
//        this("李四",25);
//        this.eat();
//        System.out.println("这是一个无参的构造方法");
//    }
//    public Person(String name){
//
//        this.name = name;
//        System.out.println(name);
//    }
//    public Person(String name,int age){
//        this.name = name;
//        this.age = age;
//        System.out.println("姓名："+this.name+"，年龄："+this.age);
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        {
//            int a = 10;
//            System.out.println("本地代码块:"+a);
//        }
//        int a = 20;
//        System.out.println(a);
//    }
//
//    public static void main1(String[] args) {
//        Person person1 = new Person();
//        System.out.println("==========");
//        Person person2 = new Person("张三");
//        System.out.println("==========");
//        Person person3 = new Person("张三",20);
//    }
//}


//class Person{
//    private String name;
//    private int age;
//    public static int count ;
//    {
//        this.age = 10;
//        System.out.println("实例代码块，也叫构造代码块");
//    }
//    static {
//        count = 99;
//        System.out.println("这是静态代码块");
//    }
//
//    public Person(){
//        System.out.println("这是一个无参的构造方法");
//    }
//
//
//    public Person(String name){
//        this.name = name;
//        System.out.println(name);
//    }
//    public Person(String name,int age){
//        this.name = name;
//        this.age = age;
//        System.out.println("姓名："+this.name+"，年龄："+this.age);
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        System.out.println(Person.count);
//    }
//}


//class Person{
//    private String name;
//    private int age;
//    public static int count ;
//
//    public void sleep(){
//        System.out.println("正在睡觉");
//    }
//    public Person(){
//        System.out.println("这是一个无参的构造方法");
//    }
//    public Person(String name,int age){
//        this.name = name;
//        this.age = age;
//        System.out.println("姓名："+this.name+"，年龄："+this.age);
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        new Person().sleep();
//        new Person();
//        new Person("张三",22);
//    }
//}

class Test{
//    public int aMethod(){
//        static int i = 0;
//        i++;
//        return i;
//    }
}
//public class TestDemo {
//    static int cnt = 6;
//    static{
//        cnt += 9;
//    }
//    public static void main(String[] args){
//        System.out.println("cnt =" + cnt);
//    }
//    static{
//        cnt /=3;
//    };
//}

//public class TestDemo{
//
//    private String name = "Person";
//
//    int age=0;
//
//}
//
//public class Child extends TestDemo{
//
//    public String grade;
//
//    public static void main(String[] args){
//
//        TestDemo p = new Child();
//
//        System.out.println(p.name);
//
//    }
//
//}

//class TestDemo{
//
//    public String toString() {
//
//        System.out.print("aaa");
//
//        return "bbb";
//
//    }
//    public static void main(String[] args) {
//
//        System.out.println(new TestDemo());
//    }
//
//}

//class Calculator{
//    private int num1;
//    private int num2;
//
//    public int getNum1() {
//        return num1;
//    }
//
//    public void setNum1(int num1) {
//        this.num1 = num1;
//    }
//
//    public int getNum2() {
//        return num2;
//    }
//
//    public void setNum2(int num2) {
//        this.num2 = num2;
//    }
//    public int add(){
//        return num1+num2;
//    }
//    public int sub(){
//        return num1-num2;
//    }
//    public int mul(){
//        return num1*num2;
//    }
//    public double dev(){
//        return (double) num1/num2;
//    }
//}
//public class TestDemo {
//    public static void main(String[] args) {
//        Calculator calculator = new Calculator();
//        calculator.setNum1(10);
//        calculator.setNum2(20);
//        //加法
//        System.out.println(calculator.add());
//        //减法
//        System.out.println(calculator.sub());
//        //乘法
//        System.out.println(calculator.mul());
//        //除法
//        System.out.println(calculator.dev());
//    }
//}

class MyValue{
    public int value;
}
public class TestDemo {
    public static void swap(MyValue myV1,MyValue myV2){
        int temp = myV1.value;
        myV1.value = myV2.value;
        myV2.value = temp;
    }

    public static void main(String[] args) {
        MyValue myValue1 = new MyValue();
        myValue1.value = 10;
        MyValue myValue2 = new MyValue();
        myValue2.value = 20;
        System.out.println("交换前：myValue1:"+myValue1.value+"，myValue2:"+myValue2.value);
        swap(myValue1,myValue2);
        System.out.println("交换后：myValue1:"+myValue1.value+"，myValue2:"+myValue2.value);
    }
}